#!/bin/bash

# 更新软件包列表，确保获取最新的软件包信息
sudo apt-get update

# 安装 gcc-arm-none-eabi（ARM 交叉编译工具链）
# "command -v arm-none-eabi-gcc" 用于检查命令是否存在
# "&> /dev/null" 表示屏蔽输出，避免终端打印不必要的信息
# "if ! ...; then" 这里的 "!" 代表取反，意思是：如果命令不存在，则执行安装
if ! command -v arm-none-eabi-gcc &> /dev/null; then
    echo "正在安装 gcc-arm-none-eabi..."
    sudo apt-get install -y gcc-arm-none-eabi  # 使用 -y 选项，自动确认安装
else
    echo "gcc-arm-none-eabi 已安装，无需重复安装。"
fi

# 安装 openocd（用于调试 STM32 的开源 JTAG/SWD 调试器）
if ! command -v openocd &> /dev/null; then
    echo "正在安装 OpenOCD..."
    sudo apt-get install -y openocd
else
    echo "OpenOCD 已安装，无需重复安装。"
fi

# 安装 gdb-multiarch（支持多架构的 GDB 调试器）
if ! command -v gdb-multiarch &> /dev/null; then
    echo "正在安装 gdb-multiarch..."
    sudo apt-get install -y gdb-multiarch
else
    echo "gdb-multiarch 已安装，无需重复安装。"
fi

# 结束提示
echo "所有工具安装完成！"
